AparCalc Function

private function AparCalc(rad, lai, k, alb, dt) result(apar)

Computes the absorbed photosynthetically active radiation. The amount of light available for the plant that is going to define its growth rate. The light that the plant could absorb is determined according to the canopy cover. The amount of absorbed photosynthetically active radiation is usually computed following Lambert-Beer law .

References:

 McCree, K.J.: Test of current definitions of photosynthetically active 
 radiation against leaf photosynthesis data. Agr. Forest. Meteorol, 
 10 , 443-453, 1972.

Arguments

Type IntentOptional Attributes Name
real(kind=float), intent(in) :: rad

shortwave direct radiation (w/m2)

real(kind=float), intent(in) :: lai

leaf area index (m2/m2)

real(kind=float), intent(in) :: k

extinction coefficient for absorption of PAR by canopy

real(kind=float), intent(in) :: alb

plant albedo (0-1)

integer(kind=short), intent(in) :: dt

time step (s)

Return Value real(kind=float)


Variables

Type Visibility Attributes Name Initial
real(kind=float), public :: par0

photosynthetically active radiation (molPAR m-2)

real(kind=float), public, parameter :: radToPAR = 4.57

Source Code

FUNCTION  AparCalc &
!
(rad, lai, k, alb, dt) &
!
RESULT (apar)

IMPLICIT NONE

!arguments with intent(in):
REAL (KIND = float), INTENT(IN) :: rad !! shortwave direct radiation (w/m2)
REAL (KIND = float), INTENT(IN) :: lai !! leaf area index (m2/m2)
REAL (KIND = float), INTENT(IN) :: k !! extinction coefficient for absorption of PAR by canopy
REAL (KIND = float), INTENT(IN) :: alb !! plant albedo (0-1)
INTEGER (KIND = short), INTENT(IN) :: dt  !!time step (s)

!local declarations:
REAL (KIND = float) :: apar
REAL (KIND = float) :: par0  !!photosynthetically active radiation (molPAR m-2)
REAL (KIND = float), PARAMETER :: radToPAR = 4.57 !conversion factor 1 W m-2 = 4.57 µmol m-2 s-1 (McCree, 1972)
!------------------------------end of declarations----------------------------



!devo considerare l'albedo cioè è una short wave net radiation ? o quella  incidente ?
par0 = rad * ( 1. - alb ) * radToPAR * dt ! (µmol m-2)

apar = par0 * ( 1. - EXP ( -k * lai) ) / 1000000. ! (molPAR m-2)
    
RETURN
END FUNCTION AparCalc